﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using DAL;
using BLL;

public partial class admin_Notes_Details : System.Web.UI.Page
{
  NoteBLL noteData = new NoteBLL();
  protected void Page_Load(object sender, EventArgs e)
  {
    if (!IsPostBack)
    {
      Session["url_back_admin"] = Request.RawUrl;

      LoadTitle();
      if (Request.QueryString["Id"] != null)
        Filldata();
      else
      {
        txtCreadDate.Text = DateTime.Now.ToShortDateString();
      }
    }
  }
  private void Filldata()
  {
    int id = Convert.ToInt32(Request.QueryString["Id"]);
    Note note = noteData.GetById(id);
    txtName.Text = note.Name;
    txtName_En.Text = note.Name_En;

    fckEditor.Value = HttpUtility.HtmlDecode(note.Content);
    fckEditor_En.Value = HttpUtility.HtmlDecode(note.Content_En);

    txtCreadDate.Text = note.CreateDate.ToShortDateString();
    if (note.IsEnable == true) radioEnable.Checked = true;
    else radioVisible.Checked = true;
  }
 
  private void LoadTitle()
  {
    if (Request.QueryString["Id"] != null)
    {
      h3Title.InnerText = "Chỉnh sửa bài viết";
    }
  }
  private bool isValidate()
  {
    if (txtName.Text == "")
    {
      Myfunction.ThongBao(lbThongBao, "Tiêu đề bài viết không được để trống !");
      txtName.Focus();
      return false;
    }

    if (fckEditor.Value == "")
    {
      Myfunction.ThongBao(lbThongBao, "Nội dung không được để trống !");
      fckEditor.Focus();
      return false;
    }

    DateTime date;
    if (!DateTime.TryParse(txtCreadDate.Text, out date))
    {
      Myfunction.ThongBao(lbThongBao, "Ngày tháng phải nhập theo định dạng (Tháng/Ngày/Năm)");
      txtCreadDate.Focus();
      return false;
    }
    return true;
  }
  private void ResetForm()
  {
    txtName.Text = "";
    txtName_En.Text = "";
    fckEditor.Value = "";
    fckEditor_En.Value = "";
    radioEnable.Checked = true;
  }
  private void Update()
  {
    int id = Convert.ToInt32(Request.QueryString["Id"]);
    Note note = noteData.GetById(id);

    note.Name = txtName.Text;
    note.Name_En = txtName_En.Text;

    note.Content = HttpUtility.HtmlEncode(fckEditor.Value);
    note.Content_En = HttpUtility.HtmlEncode(fckEditor_En.Value);

    note.CreateDate = Convert.ToDateTime(txtCreadDate.Text);   
    noteData.Update(note);

    Myfunction.ThongBao(lbThongBao, "Bài viết đã được cập nhật");
  }
  private void Add()
  {
    Note note = new Note();
    note.Name = txtName.Text;
    note.Name_En = txtName_En.Text;

    note.Content = HttpUtility.HtmlEncode(fckEditor.Value);
    note.Content_En = HttpUtility.HtmlEncode(fckEditor_En.Value);

    note.CreateDate = Convert.ToDateTime(txtCreadDate.Text);
    note.IsEnable = false;

    noteData.Add(note);
    Myfunction.ThongBao(lbThongBao, "Bài viết đã được cập nhật !");
  }
  protected void btnOk_Click(object sender, EventArgs e)
  {
    if ((int)Session["Role"] != 1)
    {
      Myfunction.ThongBao(lbThongBao, "Bạn không có quyền thực hiện thao tác này ! ");
      return;
    }
    try
    {
      lbThongBao.Text = "";
      if (isValidate())
      {
        if (Request.QueryString["Id"] == null)
        {
          Add();
          ResetForm();
        }
        else
          Update();

      }
    }
    catch (Exception ex)
    {
      Myfunction.ThongBao(lbThongBao, ex.Message);
    }
  }
}